Numerous techniques and protocols exist for configuring networks to handle multicast traffic. For Internet Protocol (IP) and/or multiprotocol label switching (MPLS) implementations the existing solutions for multicast are based on multicast label distribution protocol (mLDP) or protocol independent multicast (PIM). These are all techniques that depend on a unicast shortest path first (SPF) computation followed by handshaking between peers to sort out a loop free multicast distribution tree (MDT) for each multicast source. At the same time numerous protocols exist that provide for unicast tunneling, and some (such as label based architectures like source packet in routing (SPRING) or MPLS-LDP) implement a full mesh of unicast tunnels as an artifact for normal operation.
Shortest path bridging (SPB) is a protocol related to computer networking for the configuration of computer networks that enables multipath routing. In one embodiment, the protocol is specified by the Institute of Electrical and Electronics Engineers (IEEE) 802.1aq standard. This protocol replaces prior standards such as spanning tree protocols. SPB enables all paths in the computing network to be active with multiple equal costs paths being utilized through load sharing and similar technologies. The standard enables the implementation of logical Ethernet networks in Ethernet infrastructures using a link state protocol to advertise the topology and logical network memberships of the nodes in the network. SPB implements large scale multicast as part of implementing virtualized broadcast domains. A key distinguishing feature of the SPB standard is that the MDTs are computed from the information in the routing system's link state database via an all-pairs-shortest-path algorithm, which minimizes the amount of control messaging to converge multicast.
SPRING is an exemplary profile of the use of MPLS technology whereby global identifiers are used in the form of a global label assigned per label switched route (LSR) used for forwarding to that LSR. A full mesh of unicast tunnels is constructed via every node in the network computing the shortest path to every other node and installing the associated global labels accordingly. In the case of SPRING, this also allows explicit paths to be set up via the application of label stacks at the network ingress. Encompassed with this approach is the concept of a strict (every hop specified) or loose (some waypoints specified) route dependent on how exhaustively the ingress applied label stack specifies the path.
Proposals have been made to use global identifiers in the dataplane combined with the IEEE 802.1aq technique of advertising multicast registrations in the interior gateway protocol (IGP) and replicating the “all pairs shortest path” approach of IEEE 802.1aq to compute MDTs without the additional handshaking. Such an approach would inherit a lot of desirable properties embodied in the IEEE 802.1aq approach, primarily in the simplification of the amount of control plane exchange required to converge the network.
However, the configuration of flat multicast trees in such networks using MPLS, SPB, SPRING and similar technologies can generate a significant amount of state, in particular in association with source specific tree implementation of multicast groups. To implement a given multicast group it is necessary to install state to implement an MDT per source. Less optimal solutions exist such as spanning trees or shared trees, but a tree per source per group provides for efficient, minimal latency multicast delivery, hence is desirable.
Previous art in the field suggests that it may be possible with a computed tree to utilize unicast tunneling in a SPRING or similar network to minimize the amount of state in the forwarding plane. However, simply applying the IEEE 802.1aq algorithms that compute a common “template” solution for all MDTs from a given source to the tunneled approach in a network that also implements equal cost multipath (ECMP) may result in multiple copies of a packet traversing a given interface. An algorithm that generates a minimum cost shortest path tree for each group served by each source would have the correct properties, but would be computationally prohibitive. An algorithm that generates MDTs that avoids packet duplication in an ECMP network in a timely fashion would be desirable, as well as the benefit of an increase in bandwidth efficiency.